home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 1159.ZIP / OSSPRNSE.PRG < prev    next >
Text File  |  1988-11-07  |  27KB  |  1,243 lines

  1. CLOSE DATABASES
  2. USE &DBNAME INDEX &INDEX1,&INDEX2
  3. SET SAFETY OFF
  4. SET DELETED ON
  5. DO CASE
  6.  CASE OTHERCAL=1
  7.   SET FILTER TO CALIB_INT=0.OR.CAT3ABB $ SUBCATID
  8.  CASE STORAGE=1
  9.   SET FILTER TO SUB1ABB $ SUBCATID
  10.  CASE CAL=1
  11.   SET FILTER TO CALIB_INT=0.OR.SUB2ABB $ SUBCATID.OR.SUB3ABB $ SUBCATID
  12.  CASE ALL=1
  13.   SET FILTER TO
  14.  CASE CALDU=1
  15.   SET FILTER TO COMPDATE1<=CAL_DUE_DT .AND. COMPDATE2>=CAL_DUE_DT
  16.  CASE CALDT=1
  17.   SET FILTER TO COMPDATE1<=CALIB_DATE .AND. COMPDATE2>=CALIB_DATE
  18.  CASE CALINT=1
  19.   SET FILTER TO INTERVAL1<=CALIB_INT .AND. INTERVAL2>=CALIB_INT
  20.  CASE REMK=1
  21.   SET FILTER TO REMARK1 $ REMARK
  22.  CASE UPDT=1
  23.   SET FILTER TO COMPDATE1<=LAST_UPDAT .AND. COMPDATE2>=LAST_UPDAT
  24.  CASE INCAL=1
  25.   SET FILTER TO SUB2ABB $ SUBCATID
  26.  CASE INREP=1
  27.   SET FILTER TO SUB3ABB $ SUBCATID
  28.  CASE SERPHRASE=1
  29.   SET FILTER TO SERPH $ UPPER(SERIAL_NO)
  30.  CASE TVAPHRASE=1
  31.   SET FILTER TO TVAPH $ TVA_NO
  32.  CASE NOTUSED=1
  33.  DO CASE
  34.   CASE NUMCOND=1
  35.   DO CASE
  36.    CASE COND1=DUEWITHIN.OR.COND1='ONLY'
  37.     SET FILTER TO CALIB_INT=99
  38.    CASE COND2=LOCATI
  39.     SET FILTER TO LOC $ UPPER(LOCATION).AND.CALIB_INT=99
  40.    CASE COND3=INSTTYPE
  41.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.CALIB_INT=99
  42.   ENDCASE
  43.  CASE NUMCOND=2
  44.   DO CASE
  45.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  46.     SET FILTER TO LOC $ UPPER(LOCATION).AND.CALIB_INT=99 
  47.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  48.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.CALIB_INT=99 
  49.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  50.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  51. CALIB_INT=99
  52.   ENDCASE
  53.  CASE NUMCOND=3
  54.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  55. CALIB_INT=99
  56. ENDCASE
  57.  CASE INACTIVE=0
  58. DO CASE
  59.  CASE NUMCOND=1
  60.   DO CASE
  61.    CASE COND1='ONLY'
  62.     SET FILTER TO BY_DATE>10
  63.    CASE COND1=DUEWITHIN
  64.     SET FILTER TO BYDATE>BY_DATE.AND.BY_DATE>10
  65.    CASE COND2=LOCATI
  66.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BY_DATE>10
  67.    CASE COND3=INSTTYPE
  68.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BY_DATE>10
  69.   ENDCASE
  70.  CASE NUMCOND=2
  71.   DO CASE
  72.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  73.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BYDATE>BY_DATE.AND.;
  74. BY_DATE>10
  75.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  76.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BYDATE>BY_DATE.AND.;
  77. BY_DATE>10
  78.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  79.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  80. BY_DATE>10
  81.   ENDCASE
  82.  CASE NUMCOND=3
  83.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  84. BYDATE>BY_DATE.AND.BY_DATE>10
  85. ENDCASE
  86.  CASE NUMCOND=1
  87.   DO CASE
  88.    CASE COND1=DUEWITHIN
  89.     SET FILTER TO BYDATE>BY_DATE.AND.CALIB_INT#0
  90.    CASE COND2=LOCATI
  91.     SET FILTER TO LOC $ UPPER(LOCATION)
  92.    CASE COND3=INSTTYPE
  93.     SET FILTER TO INST $ UPPER(INST_TYPE)
  94.   ENDCASE
  95.  CASE NUMCOND=2
  96.   DO CASE
  97.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  98.     SET FILTER TO LOC $ UPPER(LOCATION) .AND. BYDATE>BY_DATE.AND.CALIB_INT#0
  99.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  100.     SET FILTER TO INST $ UPPER(INST_TYPE) .AND. BYDATE>BY_DATE.AND.CALIB_INT#0
  101.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  102.     SET FILTER TO LOC $ UPPER(LOCATION) .AND. INST $ UPPER(INST_TYPE)
  103.   ENDCASE
  104.  CASE NUMCOND=3
  105.   SET FILTER TO LOC $ UPPER(LOCATION) .AND. INST $ UPPER(INST_TYPE) .AND. ;
  106. BYDATE>BY_DATE.AND.CALIB_INT#0
  107. ENDCASE
  108. SET BELL OFF
  109. SET TALK OFF
  110. SET CONSOLE ON
  111. CLEAR
  112. GO TOP
  113. IF EOF()
  114.  @ 1,15 SAY 'Data base in use:  '
  115.  ?? OSS
  116.  @ 4,0
  117.   ?'                    CONDITIONS:     '
  118.   ?
  119.   ?
  120.   IF COND1=DUEWITHIN
  121.   ?? DUEDATE
  122.   ??' <= '
  123.   ?? COMPDATE
  124.   ??'   '
  125.   ENDIF
  126.   IF COND3=INSTTYPE
  127.   ?? INSTNAME
  128.   ??':  '
  129.   ?? INST
  130.   ??'   '
  131.   ENDIF
  132.   IF NUMCOND=3
  133.    ?
  134.   ENDIF
  135.   IF COND2=LOCATI
  136.   ?? LOCATNAME
  137.   ??':  '
  138.   ?? LOC
  139.   ENDIF
  140.   ?
  141.   ?
  142.   DO CASE
  143.    CASE OTHERCAL=1
  144.     ??'Category:  '
  145.     ?? CATEGORY3
  146.     ??'.'
  147.    CASE STORAGE=1
  148.     ??'Subcategory:  '
  149.     ?? SUBCAT1
  150.     ??'.'
  151.    CASE CAL=1
  152.     ??'Subcategories:  '
  153.     ?? SUBCAT2
  154.     ??' and '
  155.     ?? SUBCAT3
  156.     ??'.'
  157.    CASE ALL=1
  158.     ??'All records in this data base.'
  159.    CASE CALDU=1
  160.     ??'Records with '
  161.     ?? DUEDATE
  162.     ??' designations from '
  163.     ?? COMPDATE1
  164.     ??' to '
  165.     ?? COMPDATE2
  166.     ??'.'
  167.    CASE CALDT=1
  168.     ??'Records with '
  169.     ?? CALIBDATE
  170.     ??' designations from '
  171.     ?? COMPDATE1
  172.     ??' to '
  173.     ?? COMPDATE2
  174.     ??'.'
  175.    CASE CALINT=1
  176.     ??'Records with '
  177.     ?? CALINTERVL
  178.     ??' designations from '
  179.     ?? INTERVAL1
  180.     ??' months to'
  181.     ?? INTERVAL2
  182.     ??' months.'
  183.    CASE REMK=1
  184.     ??'Records with the phrase "'
  185.     ?? REMARK1
  186.     ??'" in the '
  187.     ?? REMARKNM
  188.     ??' field.'
  189.    CASE UPDT=1
  190.     ??'Records which were last updated from '
  191.     ?? COMPDATE1
  192.     ??' to '
  193.     ?? COMPDATE2
  194.     ??'.'
  195.    CASE INCAL=1
  196.     ??'Records in subcategory:  '
  197.     ?? SUBCAT2
  198.     ??'.'
  199.    CASE INREP=1
  200.     ??'Records in subcategory:  '
  201.     ?? SUBCAT3
  202.     ??'.'
  203.    CASE SERPHRASE=1
  204.     ??'Records having the phrase "'
  205.     ?? SERPH
  206.     ?? '" in the '
  207.     ?? SERIALNUM
  208.     ??' field.'
  209.    CASE TVAPHRASE=1
  210.     ??'Records having the phrase "'
  211.     ?? TVAPH
  212.     ?? '" in the '
  213.     ?? TVANUMBER
  214.     ??' field.'
  215.    CASE NOTUSED=1
  216.     ??'Category "'
  217.     ?? CATEGORY2
  218.     ??' ONLY.'
  219.    CASE INACTIVE=0
  220.     ??'Category '
  221.     ?? CATEGORY1
  222.     ??' ONLY.'
  223.    CASE INACTIVE=1
  224.     IF COND1=DUEWITHIN
  225.     ?'Categories:  '
  226.     ?? CATEGORY1
  227.     ??' and '
  228.     ?? CATEGORY2
  229.     ??'.'
  230.     ELSE
  231.     ?'Categories:  '
  232.     ?? CATEGORY1
  233.     ??', '
  234.     ?? CATEGORY2
  235.     ??','
  236.     ?'and '
  237.     ?? CATEGORY3
  238.     ??'.'
  239.     ENDIF
  240.   ENDCASE
  241.   @ 14,5 SAY 'No records satisfying the above condition(s) were found.'
  242.   ?
  243.   ?
  244.   WAIT '     Press any key to continue . . .' TO RESPONSE
  245.   RETURN
  246. ENDIF  
  247. ORDERTMP='Z'
  248. ORDERTEMP='Z'
  249. DO WHILE ASC(ORDERTMP)<ASC('A').OR.ASC(ORDERTMP)>ASC('I')
  250. CLEAR
  251. @ 1,0 SAY 'You may order the records according to the contents of any of the'
  252. ?'fields listed below.  Choose any one of them, or you may press RETURN to'
  253. ?'return to the previous menu.'
  254. ?
  255. ?'          A)  '
  256. ?? INSTNAME
  257. ?
  258. ?'   (fast) B)  '
  259. ?? SERIALNUM
  260. ?
  261. ?'   (fast) C)  '
  262. ?? TVANUMBER
  263. ?
  264. ?'          D)  '
  265. ?? CALIBDATE
  266. ?
  267. ?'          E)  '
  268. ?? DUEDATE
  269. ?
  270. ?'          F)  '
  271. ?? LOCATNAME
  272. ?
  273. ?'          G)  '
  274. ?? CALINTERVL
  275. ?
  276. ?'          H)  Last Update'
  277. ?
  278. ?'          I)  '
  279. ?? REMARKNM
  280. ?
  281. WAIT '            ' TO ORDERTMP
  282. ORDERTMP=UPPER(LTRIM(TRIM(ORDERTMP)))
  283. @ ROW(),12 SAY 'WORKING . . .                       '
  284. IF LEN(ORDERTMP)=0
  285.   CLOSE DATABASES
  286.   USE &DBNAME INDEX &INDEX1,&INDEX2
  287.   RETURN
  288. ENDIF
  289. ENDDO
  290. DO CASE
  291.   CASE ORDERTMP='A'
  292.    ORDERTEMP='INST_TYPE'
  293.   CASE ORDERTMP='F'
  294.    ORDERTEMP='LOCATION'
  295.   CASE ORDERTMP='G'
  296.    ORDERTEMP='CALIB_INT'
  297.   CASE ORDERTMP='I'
  298.    ORDERTEMP='REMARK'
  299. ENDCASE
  300. DO CASE
  301.   CASE ORDERTMP='B'
  302.     SET INDEX TO &INDEX2,&INDEX1
  303.   CASE ORDERTMP='C'
  304.     SET INDEX TO &INDEX1,&INDEX2
  305.   CASE ORDERTMP='D'
  306.    INDEX ON STR(YEAR(CALIB_DATE),4)+DTOC(CALIB_DATE) TO TMPNDX
  307.    SET INDEX TO TMPNDX
  308.   CASE ORDERTMP='E'
  309.    INDEX ON STR(YEAR(CAL_DUE_DT),4)+DTOC(CAL_DUE_DT) TO TMPNDX
  310.    SET INDEX TO TMPNDX
  311.   CASE ORDERTMP='H'
  312.    INDEX ON STR(YEAR(LAST_UPDAT),4)+DTOC(LAST_UPDAT) TO TMPNDX
  313.    SET INDEX TO TMPNDX
  314.   OTHERWISE
  315.    INDEX ON &ORDERTEMP TO TMPNDX
  316.    SET INDEX TO TMPNDX
  317. ENDCASE
  318. CLEAR
  319. IF PRINTOUT=1 .AND. .NOT. EOF()
  320.  READY='K'
  321.  DO WHILE READY#'Y'
  322.   CLEAR
  323.   ?
  324.   ?'Make SURE the printer is ready to print.  Then press "Y" to continue,'
  325.   ?
  326.   ?'or else press "RETURN" to return to a previous menu.'
  327.   ?
  328.   ?
  329.   ?'PLEASE NOTE:  If you should ever make a mistake and there is a system error'
  330.   ?
  331.   ?'because the printer is not ready, FIRST enable the printer and THEN press'
  332.   ?
  333.   ?'"I" for the "ignor" option until no further error is indicated.'
  334.   ?
  335.   CLEAR TYPEAHEAD
  336.   WAIT '                                    ' TO READY
  337.   READY=UPPER(READY)
  338.   IF ASC(READY)=0
  339.    RETURN
  340.   ENDIF
  341.  ENDDO
  342.  CLEAR
  343.  @ 4,35 SAY 'WORKING . . .'
  344.  @ 7,0
  345.  SET DEVICE TO PRINT
  346.  SET PRINT ON
  347.  SET CONSOLE ON
  348. ENDIF
  349.  SET CONSOLE ON
  350.  @ 0,0 SAY ' '
  351.   ?'CONDITIONS:   '
  352.   SET PRINT OFF
  353.   ?
  354.   ?
  355.   IF PRINTOUT=1 .AND. .NOT. EOF()
  356.    SET PRINT ON
  357.   ENDIF
  358.   IF COND1=DUEWITHIN
  359.   ?? DUEDATE
  360.   ??' <= '
  361.   ?? COMPDATE
  362.   ??'   '
  363.   ENDIF
  364.   IF COND3=INSTTYPE
  365.   ?? INSTNAME
  366.   ??':  '
  367.   ?? INST
  368.   ??'   '
  369.   ENDIF
  370.   IF NUMCOND=3
  371.    SET PRINT OFF
  372.    ?
  373.    ?
  374.    IF PRINTOUT=1 .AND. .NOT. EOF()
  375.      SET PRINT ON
  376.    ENDIF
  377.   ENDIF
  378.   IF COND2=LOCATI
  379.   ?? LOCATNAME
  380.   ??':  '
  381.   ?? LOC
  382.   ENDIF
  383. SET CONSOLE OFF
  384. ?
  385.   DO CASE
  386.    CASE OTHERCAL=1
  387.     ??'Category:  '
  388.     ?? CATEGORY3
  389.     ??'.'
  390.    CASE STORAGE=1
  391.     ??'Subcategory:  '
  392.     ?? SUBCAT1
  393.     ??'.'
  394.    CASE CAL=1
  395.     ??'Subcategories:  '
  396.     ?? SUBCAT2
  397.     ??' and '
  398.     ?? SUBCAT3
  399.     ??'.'
  400.    CASE ALL=1
  401.     ??'All records in this data base.'
  402.    CASE CALDU=1
  403.     ??'Records with '
  404.     ?? DUEDATE
  405.     ??' designations from '
  406.     ?? COMPDATE1
  407.     ??' to '
  408.     ?? COMPDATE2
  409.     ??'.'
  410.    CASE CALDT=1
  411.     ??'Records with '
  412.     ?? CALIBDATE
  413.     ??' designations from '
  414.     ?? COMPDATE1
  415.     ??' to '
  416.     ?? COMPDATE2
  417.     ??'.'
  418.    CASE CALINT=1
  419.     ??'Records with '
  420.     ?? CALINTERVL
  421.     ??' designations from '
  422.     ?? INTERVAL1
  423.     ??' months to'
  424.     ?? INTERVAL2
  425.     ??' months.'
  426.    CASE REMK=1
  427.     ??'Records with the phrase "'
  428.     ?? REMARK1
  429.     ??'" in the '
  430.     ?? REMARKNM
  431.     ??' field.'
  432.    CASE UPDT=1
  433.     ??'Records which were last updated from '
  434.     ?? COMPDATE1
  435.     ??' to '
  436.     ?? COMPDATE2
  437.     ??'.'
  438.    CASE INCAL=1
  439.     ??'Records in subcategory:  '
  440.     ?? SUBCAT2
  441.     ??'.'
  442.    CASE INREP=1
  443.     ??'Records in subcategory:  '
  444.     ?? SUBCAT3
  445.     ??'.'
  446.    CASE SERPHRASE=1
  447.     ??'Records having the phrase "'
  448.     ?? SERPH
  449.     ?? '" in the '
  450.     ?? SERIALNUM
  451.     ??' field.'
  452.    CASE TVAPHRASE=1
  453.     ??'Records having the phrase "'
  454.     ?? TVAPH
  455.     ?? '" in the '
  456.     ?? TVANUMBER
  457.     ??' field.'
  458.    CASE NOTUSED=1
  459.     ??'Category '
  460.     ?? CATEGORY2
  461.     ??' ONLY.'
  462.    CASE INACTIVE=0
  463.     ??'Category '
  464.     ?? CATEGORY1
  465.     ??' ONLY.'
  466.    CASE INACTIVE=1
  467.     IF COND1=DUEWITHIN
  468.     ??'Categories:  '
  469.     ?? CATEGORY1
  470.     ??' and '
  471.     ?? CATEGORY2
  472.     ??'.'
  473.     ELSE
  474.     ??'Categories:  '
  475.     ?? CATEGORY1
  476.     ??', '
  477.     ?? CATEGORY2
  478.     ??' and '
  479.     ?? CATEGORY3
  480.     ??'.'
  481.     ENDIF
  482.   ENDCASE
  483. SET CONSOLE ON
  484. SET PRINT OFF
  485. ?
  486. ?
  487.   DO CASE
  488.    CASE OTHERCAL=1
  489.     ??'Category:  '
  490.     ?? CATEGORY3
  491.     ??'.'
  492.    CASE STORAGE=1
  493.     ??'Subcategory:  '
  494.     ?? SUBCAT1
  495.     ??'.'
  496.    CASE CAL=1
  497.     ??'Subcategories:  '
  498.     ?? SUBCAT2
  499.     ??' and '
  500.     ?? SUBCAT3
  501.     ??'.'
  502.    CASE ALL=1
  503.     ??'All records in this data base.'
  504.    CASE CALDU=1
  505.     ??'Records with '
  506.     ?? DUEDATE
  507.     ??' designations from '
  508.     ?? COMPDATE1
  509.     ??' to '
  510.     ?? COMPDATE2
  511.     ??'.'
  512.    CASE CALDT=1
  513.     ??'Records with '
  514.     ?? CALIBDATE
  515.     ??' designations from '
  516.     ?? COMPDATE1
  517.     ??' to '
  518.     ?? COMPDATE2
  519.     ??'.'
  520.    CASE CALINT=1
  521.     ??'Records with '
  522.     ?? CALINTERVL
  523.     ??' designations from '
  524.     ?? INTERVAL1
  525.     ??' months to'
  526.     ?? INTERVAL2
  527.     ??' months.'
  528.    CASE REMK=1
  529.     ??'Records with the phrase "'
  530.     ?? REMARK1
  531.     ??'" in the '
  532.     ?? REMARKNM
  533.     ??' field.'
  534.    CASE UPDT=1
  535.     ??'Records which were last updated from '
  536.     ?? COMPDATE1
  537.     ??' to '
  538.     ?? COMPDATE2
  539.     ??'.'
  540.    CASE INCAL=1
  541.     ??'Records in subcategory:  '
  542.     ?? SUBCAT2
  543.     ??'.'
  544.    CASE INREP=1
  545.     ??'Records in subcategory:  '
  546.     ?? SUBCAT3
  547.     ??'.'
  548.    CASE SERPHRASE=1
  549.     ??'Records having the phrase "'
  550.     ?? SERPH
  551.     ?? '" in the '
  552.     ?? SERIALNUM
  553.     ??' field.'
  554.    CASE TVAPHRASE=1
  555.     ??'Records having the phrase "'
  556.     ?? TVAPH
  557.     ?? '" in the '
  558.     ?? TVANUMBER
  559.     ??' field.'
  560.    CASE NOTUSED=1
  561.     ??'Category "'
  562.     ?? CATEGORY2
  563.     ??'" ONLY.'
  564.    CASE INACTIVE=0
  565.     ??'Category '
  566.     ?? CATEGORY1
  567.     ??' ONLY.'
  568.    CASE INACTIVE=1
  569.     IF COND1=DUEWITHIN
  570.     ?'Categories:  '
  571.     ?? CATEGORY1
  572.     ??' and '
  573.     ?? CATEGORY2
  574.     ??'.'
  575.     ELSE
  576.     ?'Categories:  '
  577.     ?? CATEGORY1
  578.     ??', '
  579.     ?? CATEGORY2
  580.     ??' and '
  581.     ?? CATEGORY3
  582.     ??'.'
  583.     ENDIF
  584.   ENDCASE
  585. SET DEVICE TO SCREEN
  586. DO CASE
  587.  CASE OTHERCAL=1
  588.   SET FILTER TO BY_DATE>10.AND.CAT3ABB $ SUBCATID
  589.  CASE STORAGE=1
  590.   SET FILTER TO BY_DATE>10.AND.SUB1ABB $ SUBCATID
  591.  CASE CAL=1
  592.   SET FILTER TO BY_DATE>10.AND.(SUB2ABB $ SUBCATID.OR.SUB3ABB $ SUBCATID)
  593.  CASE ALL=1
  594.   SET FILTER TO BY_DATE>10
  595.  CASE CALDU=1
  596.   SET FILTER TO COMPDATE1<=CAL_DUE_DT .AND.;
  597. COMPDATE2>=CAL_DUE_DT.AND.BY_DATE>10
  598.  CASE CALDT=1
  599.   SET FILTER TO COMPDATE1<=CALIB_DATE .AND. COMPDATE2>=CALIB_DATE.AND.;
  600. BY_DATE>10
  601.  CASE CALINT=1
  602.   SET FILTER TO INTERVAL1<=CALIB_INT .AND. INTERVAL2>=CALIB_INT.AND.;
  603. BY_DATE>10
  604.  CASE REMK=1
  605.   SET FILTER TO REMARK1 $ REMARK.AND.BY_DATE>10
  606.  CASE UPDT=1
  607.   SET FILTER TO COMPDATE1<=LAST_UPDAT .AND. COMPDATE2>=LAST_UPDAT.AND.;
  608. BY_DATE>10
  609.  CASE INCAL=1
  610.   SET FILTER TO SUB2ABB $ SUBCATID.AND.BY_DATE>10
  611.  CASE INREP=1
  612.   SET FILTER TO SUB3ABB $ SUBCATID.AND.BY_DATE>10
  613.  CASE SERPHRASE=1
  614.   SET FILTER TO SERPH $ SERIAL_NO.AND.BY_DATE>10
  615.  CASE TVAPHRASE=1
  616.   SET FILTER TO TVAPH $ TVA_NO.AND.BY_DATE>10
  617.  CASE NOTUSED=1
  618.   SET FILTER TO
  619.  CASE NUMCOND=1
  620.   DO CASE
  621.    CASE COND1=DUEWITHIN
  622.     SET FILTER TO BYDATE>BY_DATE.AND.BY_DATE>10
  623.    CASE COND2=LOCATI
  624.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BY_DATE>10
  625.    CASE COND3=INSTTYPE
  626.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BY_DATE>10
  627.   ENDCASE
  628.  CASE NUMCOND=2
  629.   DO CASE
  630.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  631.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BYDATE>BY_DATE.AND.;
  632. BY_DATE>10
  633.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  634.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BYDATE>BY_DATE.AND.;
  635. BY_DATE>10
  636.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  637.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  638. BY_DATE>10
  639.   ENDCASE
  640.  CASE NUMCOND=3
  641.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  642. BYDATE>BY_DATE.AND.BY_DATE>10
  643. ENDCASE
  644. IF NOTUSED=1
  645.   GO RECCOUNT()
  646.   SKIP
  647.  ELSE
  648.   GO TOP
  649. ENDIF
  650. NNN=0
  651. N99=0
  652. NN=0
  653. IF PRINTOUT=1
  654.  N=5
  655.  SET CONSOLE OFF
  656.  SET PRINT ON
  657.  SET DEVICE TO PRINT
  658.  @ 3,66-INT(LEN(TITLE1)/2) SAY TITLE1
  659.  @ 3,105 SAY "Today's date is"
  660.  @ 3,122 SAY DATE()
  661.  @ 3,130 SAY '.'
  662.  DO WHILE NN=0
  663.  DO WHILE .NOT. EOF()
  664.   DO CASE
  665.    CASE NNN=0
  666.   IF INSTNAME#'.'
  667.   @ N,0 SAY INSTNAME
  668.   ENDIF
  669.  IF SERIALNUM#'.'
  670.   @ N,21 SAY SERIALNUM
  671.  ENDIF
  672.  IF TVANUMBER#'.'
  673.   @ N,36 SAY TVANUMBER
  674.  ENDIF
  675.  IF CALIBDATE#'.'
  676.   @ N,51 SAY CALIBDATE
  677.  ENDIF
  678.  IF DUEDATE#'.'
  679.   @ N,61 SAY DUEDATE
  680.  ENDIF
  681.  IF LOCATNAME#'.'
  682.   @ N,95 SAY LOCATNAME
  683.  ENDIF
  684.  IF CALINTERVL#'.'
  685.   @ N,110 SAY CALINTERVL
  686.  ENDIF
  687.   @ N,120 SAY 'LAST UPDATE'
  688. IF CALINTERVL#'.' 
  689.  @ N+1,110 SAY '(months)'
  690. ENDIF
  691.   @ N+2,0 SAY ' '
  692.    CASE NNN=1
  693.    ?
  694.    DO CASE
  695.     CASE PROW()>53
  696.      @ 0,65-INT((LEN(CATEGORY2+CATEGORY3)+67)/2) SAY 'THESE RECORDS ARE;
  697.  EITHER PRESENTLY IN CATEGORY "'
  698.      ?? CATEGORY2
  699.      ??'" OR IN CATEGORY "'
  700.      ?? CATEGORY3
  701.      ??'"'
  702.     OTHERWISE
  703.      @ PROW(),65-INT((LEN(CATEGORY2+CATEGORY3)+67)/2) SAY 'THESE RECORDS ARE;
  704.  EITHER PRESENTLY IN CATEGORY "'
  705.      ?? CATEGORY2
  706.      ??'" OR IN CATEGORY "'
  707.      ?? CATEGORY3
  708.      ??'"'
  709.    ENDCASE
  710.   IF INSTNAME#'.'
  711.    @ PROW()+2,0 SAY INSTNAME
  712.   ENDIF
  713.   IF SERIALNUM#'.'
  714.    @ PROW(),21 SAY SERIALNUM
  715.   ENDIF
  716.   IF TVANUMBER#'.'
  717.    @ PROW(),36 SAY TVANUMBER
  718.   ENDIF
  719.   IF CALIBDATE#'.'
  720.    @ PROW(),51 SAY CALIBDATE
  721.   ENDIF
  722.   IF DUEDATE#'.'
  723.    @ PROW(),63 SAY DUEDATE
  724.   ENDIF
  725.   IF LOCATNAME#'.'
  726.    @ PROW(),95 SAY LOCATNAME
  727.   ENDIF
  728.    @ PROW(),120 SAY 'LAST UPDATE'
  729.    ?
  730.    ?
  731.   ENDCASE
  732.   DO WHILE .NOT. EOF()
  733.   DO CASE
  734.    CASE NNN=0
  735.     IF PROW()>53
  736.      EXIT
  737.     ENDIF
  738.     DO CASE
  739.      CASE BY_DATE=100
  740.       @ PROW()+1,51 SAY TDREMARK
  741.      CASE BY_DATE=200
  742.       @ PROW()+1,51 SAY DREMARK
  743.     ENDCASE
  744.     @ PROW()+1,0 SAY INST_TYPE
  745.     @ PROW(),21 SAY SERIAL_NO
  746.     @ PROW(),36 SAY TVA_NO
  747.     @ PROW(),51 SAY CALIB_DATE
  748.     @ PROW(),61 SAY CAL_DUE_DT
  749.     @ PROW(),70 SAY CDOW(CAL_DUE_DT)
  750.     ??', '
  751.     ?? CMONTH(CAL_DUE_DT)
  752.     ?? DAY(CAL_DUE_DT)
  753.     @ PROW(),95 SAY LOCATION
  754.     @ PROW(),113 SAY CALIB_INT
  755.     @ PROW(),121 SAY LAST_UPDAT
  756.   PT=0
  757.   IF CAT3ABB $ SUBCATID
  758.    ?'/'
  759.    ?? CATEGORY3
  760.    ??'/   '
  761.    PT=1
  762.   ENDIF
  763.   IF SUB1ABB $ SUBCATID
  764.    IF PT=0
  765.     ?'('
  766.     ?? SUBCAT1
  767.     ??')   '
  768.     PT=1
  769.    ELSE
  770.     ??'('
  771.     ?? SUBCAT1
  772.     ??')   '
  773.    ENDIF
  774.   ENDIF
  775.   IF SUB2ABB $ SUBCATID
  776.    IF PT=0
  777.     ?'('
  778.     ?? SUBCAT2
  779.     ??')   '
  780.     PT=1
  781.    ELSE
  782.     ??'('
  783.     ?? SUBCAT2
  784.     ??')   '
  785.    ENDIF
  786.   ENDIF
  787.   IF SUB3ABB $ SUBCATID
  788.    IF PT=0
  789.    ?'('
  790.    ?? SUBCAT3
  791.    ??')   '
  792.    PT=1
  793.    ELSE
  794.    ??'('
  795.    ?? SUBCAT3
  796.    ??')   '
  797.    ENDIF
  798.   ENDIF
  799.     IF LEN(TRIM(REMARK))#0
  800.      ? TRIM(REMARK)
  801.     ENDIF
  802.    CASE NNN=1
  803.     IF PROW()>53
  804.      EXIT
  805.     ENDIF
  806.     @ PROW()+1,0 SAY INST_TYPE
  807.     @ PROW(),21 SAY SERIAL_NO
  808.     @ PROW(),36 SAY TVA_NO
  809.     DTE=0
  810.     REMKE=LTRIM(TRIM(REMARK))
  811.    IF DTOC(CALIB_DATE) # '  /  /  ' .OR. CALIBDATE # '.'
  812.     @ PROW(),51 SAY CALIB_DATE
  813.    ENDIF
  814.    IF DTOC(CAL_DUE_DT) # '  /  /  ' .OR. DUEDATE # '.'
  815.     @ PROW(),69 SAY CAL_DUE_DT
  816.    ENDIF
  817.     DO CASE
  818.      CASE CALIB_INT=99
  819.       @ PROW(),78 SAY CATEGORY2
  820.      CASE CALIB_INT=0
  821.       @ PROW(),78 SAY CATEGORY3
  822.     ENDCASE
  823.     @ PROW(),95 SAY LOCATION
  824.     @ PROW(),121 SAY LAST_UPDAT
  825.   PT=0
  826.   IF CAT3ABB $ SUBCATID
  827.    ?'/'
  828.    ?? CATEGORY3
  829.    ??'/   '
  830.    PT=1
  831.   ENDIF
  832.   IF SUB1ABB $ SUBCATID
  833.    IF PT=0
  834.     ?'('
  835.     ?? SUBCAT1
  836.     ??')   '
  837.     PT=1
  838.    ELSE
  839.     ??'('
  840.     ?? SUBCAT1
  841.     ??')   '
  842.    ENDIF
  843.   ENDIF
  844.   IF SUB2ABB $ SUBCATID
  845.    IF PT=0
  846.     ?'('
  847.     ?? SUBCAT2
  848.     ??')   '
  849.     PT=1
  850.    ELSE
  851.     ??'('
  852.     ?? SUBCAT2
  853.     ??')   '
  854.    ENDIF
  855.   ENDIF
  856.   IF SUB3ABB $ SUBCATID
  857.    IF PT=0
  858.    ?'('
  859.    ?? SUBCAT3
  860.    ??')   '
  861.    ELSE
  862.    ??'('
  863.    ?? SUBCAT3
  864.    ??')   '
  865.    ENDIF
  866.   ENDIF
  867.     IF LEN(REMKE)>0
  868.       ? REMKE
  869.     ENDIF
  870.     N99=0
  871. ENDCASE
  872.   NSPC=1
  873.   DO WHILE NSPC<SPACING
  874.   ?
  875.   NSPC=NSPC+1
  876.   ENDDO
  877.   SKIP
  878.  ENDDO
  879.   ?
  880. N=0
  881. ENDDO
  882. IF NNN=0
  883. DO CASE
  884.  CASE NOTUSED=1
  885.   SET FILTER TO CALIB_INT=99
  886.  CASE OTHERCAL=1
  887.   SET FILTER TO CALIB_INT=0.OR.(BY_DATE<10.AND.CAT3ABB $ SUBCATID)
  888.  CASE STORAGE=1
  889.   SET FILTER TO BY_DATE<10.AND.SUB1ABB $ SUBCATID
  890.  CASE CAL=1
  891.   SET FILTER TO BY_DATE<10.AND.(SUB2ABB $ SUBCATID.OR.SUB3ABB $ SUBCATID)
  892.  CASE ALL=1
  893.   SET FILTER TO BY_DATE<10
  894.  CASE INACTIVE=0
  895. ?'****************************************************************************;
  896. *******************************************************'
  897.    EXIT
  898.  CASE NUMCOND=1
  899.   DO CASE
  900.  CASE CALDU=1
  901.   SET FILTER TO COMPDATE1<=CAL_DUE_DT .AND. COMPDATE2>=CAL_DUE_DT.AND.;
  902. BY_DATE<10
  903.  CASE CALDT=1
  904.   SET FILTER TO COMPDATE1<=CALIB_DATE .AND. COMPDATE2>=CALIB_DATE.AND.;
  905. BY_DATE<10
  906.  CASE CALINT=1
  907.   SET FILTER TO INTERVAL1<=CALIB_INT .AND. INTERVAL2>=CALIB_INT.AND.;
  908. BY_DATE<10
  909.  CASE REMK=1
  910.   SET FILTER TO REMARK1 $ REMARK.AND.BY_DATE<10
  911.  CASE UPDT=1
  912.   SET FILTER TO COMPDATE1<=LAST_UPDAT .AND. COMPDATE2>=LAST_UPDAT.AND.;
  913. BY_DATE<10
  914.  CASE INCAL=1
  915.   SET FILTER TO SUB2ABB $ SUBCATID.AND.BY_DATE<10
  916.  CASE INREP=1
  917.   SET FILTER TO SUB3ABB $ SUBCATID.AND.BY_DATE<10
  918.  CASE SERPHRASE=1
  919.   SET FILTER TO SERPH $ SERIAL_NO.AND.BY_DATE<10
  920.  CASE TVAPHRASE=1
  921.   SET FILTER TO TVAPH $ TVA_NO.AND.BY_DATE<10
  922.    CASE COND1=DUEWITHIN
  923.     SET FILTER TO CALIB_INT=99
  924.    CASE COND2=LOCATI
  925.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BY_DATE<10
  926.    CASE COND3=INSTTYPE
  927.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BY_DATE<10
  928.   ENDCASE
  929.  CASE NUMCOND=2
  930.   DO CASE
  931.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  932.     SET FILTER TO LOC $ UPPER(LOCATION).AND.CALIB_INT=99
  933.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  934.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.CALIB_INT=99
  935.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  936.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  937. BY_DATE<10
  938.   ENDCASE
  939.  CASE NUMCOND=3
  940.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  941. CALIB_INT=99
  942. ENDCASE
  943. GO TOP
  944.  IF .NOT. EOF()
  945.   N99=1
  946.  ENDIF
  947. ENDIF
  948. NNN=1
  949. IF N99=0
  950.  NN=1
  951. ENDIF
  952. ?'****************************************************************************;
  953. *******************************************************'
  954. IF N99=1 .AND. NNN=1 .AND. PROW()>43
  955.  @ 0,0 SAY ' '
  956. ENDIF
  957. ENDDO
  958. ?
  959. ?'****************************************************************************;
  960. *******************************************************'
  961. ?
  962. ?'                                                        END OF LISTING'
  963. NPRN=0
  964. DO WHILE NPRN<PAPEROUT
  965. ?
  966. NPRN=NPRN+1
  967. ENDDO
  968. SET DEVICE TO SCREEN
  969. SET PRINT OFF
  970. ENDIF
  971. IF VIEW=1
  972. DO CASE
  973.  CASE OTHERCAL=1
  974.   SET FILTER TO CALIB_INT=0.OR.CAT3ABB $ SUBCATID
  975.  CASE STORAGE=1
  976.   SET FILTER TO SUB1ABB $ SUBCATID
  977.  CASE CAL=1
  978.   SET FILTER TO SUB2ABB $ SUBCATID.OR.SUB3ABB $ SUBCATID
  979.  CASE ALL=1
  980.  SET FILTER TO
  981.  CASE CALDU=1
  982.   SET FILTER TO COMPDATE1<=CAL_DUE_DT .AND. COMPDATE2>=CAL_DUE_DT
  983.  CASE CALDT=1
  984.   SET FILTER TO COMPDATE1<=CALIB_DATE .AND. COMPDATE2>=CALIB_DATE
  985.  CASE CALINT=1
  986.   SET FILTER TO INTERVAL1<=CALIB_INT .AND. INTERVAL2>=CALIB_INT
  987.  CASE REMK=1
  988.   SET FILTER TO REMARK1 $ REMARK
  989.  CASE UPDT=1
  990.   SET FILTER TO COMPDATE1<=LAST_UPDAT .AND. COMPDATE2>=LAST_UPDAT
  991.  CASE INCAL=1
  992.   SET FILTER TO SUB2ABB $ SUBCATID
  993.  CASE INREP=1
  994.   SET FILTER TO SUB3ABB $ SUBCATID
  995.  CASE SERPHRASE=1
  996.   SET FILTER TO SERPH $ SERIAL_NO
  997.  CASE TVAPHRASE=1
  998.   SET FILTER TO TVAPH $ TVA_NO
  999.  CASE NOTUSED=1
  1000.  DO CASE
  1001.   CASE NUMCOND=1
  1002.   DO CASE
  1003.    CASE COND1=DUEWITHIN.OR. COND1='ONLY'
  1004.     SET FILTER TO CALIB_INT=99
  1005.    CASE COND2=LOCATI
  1006.     SET FILTER TO LOC $ UPPER(LOCATION).AND.CALIB_INT=99
  1007.    CASE COND3=INSTTYPE
  1008.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.CALIB_INT=99
  1009.   ENDCASE
  1010.  CASE NUMCOND=2
  1011.   DO CASE
  1012.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  1013.     SET FILTER TO LOC $ UPPER(LOCATION).AND.CALIB_INT=99 
  1014.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  1015.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.CALIB_INT=99 
  1016.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  1017.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  1018. CALIB_INT=99
  1019.   ENDCASE
  1020.  CASE NUMCOND=3
  1021.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  1022. CALIB_INT=99
  1023. ENDCASE
  1024.  CASE INACTIVE=0
  1025. DO CASE
  1026.  CASE NUMCOND=1
  1027.   DO CASE
  1028.    CASE COND1='ONLY'
  1029.     SET FILTER TO BY_DATE>10
  1030.    CASE COND1=DUEWITHIN
  1031.     SET FILTER TO BYDATE>BY_DATE.AND.BY_DATE>10
  1032.    CASE COND2=LOCATI
  1033.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BY_DATE>10
  1034.    CASE COND3=INSTTYPE
  1035.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BY_DATE>10
  1036.   ENDCASE
  1037.  CASE NUMCOND=2
  1038.   DO CASE
  1039.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  1040.     SET FILTER TO LOC $ UPPER(LOCATION).AND.BYDATE>BY_DATE.AND.;
  1041. BY_DATE>10
  1042.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  1043.     SET FILTER TO INST $ UPPER(INST_TYPE).AND.BYDATE>BY_DATE.AND.;
  1044. BY_DATE>10
  1045.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  1046.     SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  1047. BY_DATE>10
  1048.   ENDCASE
  1049.  CASE NUMCOND=3
  1050.   SET FILTER TO LOC $ UPPER(LOCATION).AND.INST $ UPPER(INST_TYPE).AND.;
  1051. BYDATE>BY_DATE.AND.BY_DATE>10
  1052. ENDCASE
  1053.  CASE NUMCOND=1
  1054.   DO CASE
  1055.    CASE COND1=DUEWITHIN
  1056.     SET FILTER TO BYDATE>BY_DATE.AND.CALIB_INT#0
  1057.    CASE COND2=LOCATI
  1058.     SET FILTER TO LOC $ UPPER(LOCATION)
  1059.    CASE COND3=INSTTYPE
  1060.     SET FILTER TO INST $ UPPER(INST_TYPE)
  1061.   ENDCASE
  1062.  CASE NUMCOND=2
  1063.   DO CASE
  1064.    CASE COND1=DUEWITHIN.AND.COND2=LOCATI
  1065.     SET FILTER TO LOC $ UPPER(LOCATION) .AND. BYDATE>BY_DATE.AND.CALIB_INT#0
  1066.    CASE COND1=DUEWITHIN.AND.COND3=INSTTYPE
  1067.     SET FILTER TO INST $ UPPER(INST_TYPE) .AND. BYDATE>BY_DATE.AND.CALIB_INT#0
  1068.    CASE COND2=LOCATI.AND.COND3=INSTTYPE
  1069.     SET FILTER TO LOC $ UPPER(LOCATION) .AND. INST $ UPPER(INST_TYPE)
  1070.   ENDCASE
  1071.  CASE NUMCOND=3
  1072.   SET FILTER TO LOC $ UPPER(LOCATION) .AND. INST $ UPPER(INST_TYPE) .AND. ;
  1073. BYDATE>BY_DATE.AND.CALIB_INT#0
  1074. ENDCASE
  1075. @ 14,0 CLEAR
  1076. @ 16,5 SAY 'Now copying selected records into the viewer file . . .'
  1077. COPY TO REPWORK
  1078. USE REPWORK
  1079. ENDREC=RECCOUNT()
  1080. GO TOP
  1081. DO WHILE .NOT. EOF()
  1082. SET CONSOLE ON
  1083. CLEAR
  1084. DO CASE
  1085.  CASE ENDREC # 1
  1086.   @ 1,7+INT(LOG(ENDREC)/LOG(10))+INT(LOG(RECNO())/LOG(10)) SAY ENDREC
  1087.   ??' records.       '
  1088.   ??'Data base in use:  '
  1089.   ?? OSS
  1090.   @ 1,2+INT(LOG(RECNO())/LOG(10)) SAY RECNO()
  1091.   ??' of '
  1092.   @ 1,0 SAY 'Record No.'
  1093.   DO CASE
  1094.    CASE RECNO()=ENDREC
  1095.     ?'End of listing'
  1096.    CASE RECNO()=1
  1097.     ?'Beginning of listing'
  1098.   ENDCASE
  1099.    CASE ENDREC=1
  1100.     ?'There is only 1 record in this listing.'
  1101. ENDCASE
  1102. @ 3,0 SAY INSTNAME
  1103. @ 3,23 SAY SERIALNUM
  1104. @ 3,40 SAY TVANUMBER
  1105. @ 3,57 SAY CALIBDATE
  1106. @ 3,70 SAY 'NEXT DATE'
  1107. DO CASE
  1108.  CASE BY_DATE=100
  1109.   @ 5,56 SAY TDREMARK
  1110.  CASE BY_DATE=200
  1111.   @ 5,58 SAY DREMARK
  1112. ENDCASE
  1113. @ 6,0 SAY INST_TYPE
  1114. @ 6,23 SAY SERIAL_NO
  1115. @ 6,40 SAY TVA_NO
  1116. @ 6,58 SAY CALIB_DATE
  1117. @ 6,70 SAY CAL_DUE_DT
  1118.   PT=0
  1119.   IF CAT3ABB $ SUBCATID
  1120.    ?'/'
  1121.    ?? CATEGORY3
  1122.    ??'/   '
  1123.    PT=1
  1124.   ENDIF
  1125.   IF SUB1ABB $ SUBCATID
  1126.    IF PT=0
  1127.     ?'('
  1128.     ?? SUBCAT1
  1129.     ??')   '
  1130.     PT=1
  1131.    ELSE
  1132.     ??'('
  1133.     ?? SUBCAT1
  1134.     ??')   '
  1135.    ENDIF
  1136.   ENDIF
  1137.   IF SUB2ABB $ SUBCATID
  1138.    IF PT=0
  1139.     ?'('
  1140.     ?? SUBCAT2
  1141.     ??')   '
  1142.     PT=1
  1143.    ELSE
  1144.     ??'('
  1145.     ?? SUBCAT2
  1146.     ??')   '
  1147.    ENDIF
  1148.   ENDIF
  1149.   IF SUB3ABB $ SUBCATID
  1150.    IF PT=0
  1151.    ?'('
  1152.    ?? SUBCAT3
  1153.    ??')   '
  1154.    ELSE
  1155.    ??'('
  1156.    ?? SUBCAT3
  1157.    ??')   '
  1158.    ENDIF
  1159.   ENDIF
  1160. @ 9,0 SAY LOCATNAME
  1161. ??':  '
  1162. ?? LOCATION
  1163. IF CALIB_INT>0.AND.CALIB_INT<99
  1164.  ??'   '
  1165.  ?? CALINTERVL
  1166.  ??':  '
  1167.  ?? CALIB_INT
  1168.  ??'  months'
  1169. ENDIF
  1170. DO CASE
  1171.  CASE CALIB_INT=99
  1172.   @ 9,60 SAY '/'
  1173.   ?? CATEGORY2
  1174.   ??'/'
  1175.  CASE CALIB_INT=0
  1176.   @ 9,60 SAY '/'
  1177.   ?? CATEGORY3
  1178.   ??'/'
  1179. ENDCASE
  1180. @ 11,0 SAY REMARK
  1181. @ 14,0 SAY 'LAST UPDATE:'
  1182. @ 14,14 SAY LAST_UPDAT
  1183. N4="K"
  1184. DO WHILE ASC(N4)#0.AND.N4#' ' .AND.;
  1185. N4#'P'.AND.N4#'U'.AND.N4#'D'.AND.N4#'E'.AND.N4#'B'
  1186. @ 16,0 SAY 'Press SPACEBAR to see the next record.'
  1187. @ 17,0 SAY 'Press "P" to see previous record.'
  1188. IF ENDREC>7
  1189.   ?'Press "U" to go up 7 records.'
  1190.   ?'Press "D" to go down 7 records.'
  1191. ENDIF
  1192. ?'Press "E" to go to the ending (last) record.'
  1193. ?'Press "B" to go to the beginning (first) record.'
  1194. ?
  1195. WAIT 'Press "RETURN" to return to a previous menu.' TO N4
  1196. N4=UPPER(N4)
  1197. ENDDO
  1198. DO CASE
  1199.  CASE N4='P' .AND. RECNO() # 1
  1200.   GO RECNO()-1
  1201.  CASE N4='P' .AND. RECNO() = 1
  1202.   GO BOTTOM
  1203.  CASE ASC(N4)=0
  1204.   ZAP
  1205.   RETURN
  1206.  CASE N4=' '.AND.ENDREC=RECNO()
  1207.   GO TOP
  1208.  CASE N4=' '
  1209.   SKIP
  1210.  CASE N4='D'
  1211.   IF ENDREC>7
  1212.    IF ENDREC-RECNO()>6
  1213.     GO RECNO()+7
  1214.    ELSE
  1215.     GO RECNO()+7-ENDREC
  1216.    ENDIF
  1217.   ELSE
  1218.    N4='Z'
  1219.   ENDIF
  1220.  CASE N4='U'
  1221.   IF ENDREC>7
  1222.    IF RECNO()>7
  1223.     GO RECNO()-7
  1224.    ELSE
  1225.     GO ENDREC-7+RECNO()
  1226.    ENDIF
  1227.   ELSE
  1228.     N4='Z'
  1229.   ENDIF
  1230.  CASE N4='E'
  1231.   GO BOTTOM
  1232.  CASE N4='B'
  1233.   GO TOP
  1234. ENDCASE
  1235. ENDDO
  1236. ENDIF
  1237. USE REPWORK
  1238. ZAP
  1239. SET CONSOLE ON
  1240. SET BELL ON
  1241. RETURN
  1242.  
  1243.